home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_jvm24.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  4KB  |  167 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_jvm.h"
  9.  
  10.  
  11. void r308make_effective_routine(T308* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
  12. r308make_routine(C,a1,a2,a3,a4,a5);
  13. C->_local_vars=a6;
  14. C->_routine_body=a7;
  15. C->_use_current_state=25;
  16. }
  17.  
  18.  
  19. void r308warning(T0* a1,T0* a2){
  20. r21add_position(a1);
  21. r21warning((T21*)(oBC12eh),a2);
  22. }
  23.  
  24.  
  25. T0* r308try_to_undefine_aux(T308* C,T0* a1,T0* a2){
  26. T0* R=NULL;
  27. {T292*n=malloc(sizeof(*n));
  28. *n=M292;
  29. r292from_effective(n,a1,(C)->_arguments/*24*/,(C)->_result_type/*56*/,(C)->_require_assertion/*32*/,(C)->_ensure_assertion/*36*/,a2);
  30. R=(T0*)n;
  31. }
  32. return R;
  33. }
  34. /*No:FUNCTION.set_ensure_assertion*/
  35. /*No:FUNCTION.fz_bad_assertion*/
  36. /*No:FUNCTION.fz_dot*/
  37.  
  38.  
  39. void r308error(T0* a1,T0* a2){
  40. r21add_position(a1);
  41. r21error((T21*)(oBC12eh),a2);
  42. }
  43.  
  44.  
  45. void r308make(T308* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
  46. r308make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
  47. C->_result_type=a3;
  48. }
  49. /*No:FUNCTION.routine_body*/
  50. /*No:FUNCTION.end_comment*/
  51.  
  52.  
  53. void r308collect_for(T308* C,T2 a1){
  54. T0* _er=NULL;
  55. /*[IF*/
  56. if((a1)==(1)){
  57. _er=(C)->_require_assertion/*32*/;
  58. /*[IF*/
  59. if((_er)!=((void*)(NULL))){
  60. /*[IF*/
  61. if(!(r365fast_has((T365*)(oBC95require_collector),_er))){
  62. r365add_last((T365*)(oBC95require_collector),_er);
  63. }
  64. /*FI]*/
  65. }
  66. /*FI]*/
  67. }
  68. else{
  69. /*[IF*/
  70. if(((C)->_ensure_assertion/*36*/)!=((void*)(NULL))){
  71. /*[IRF3.3set_item*/((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(((T219*)((C)->_ensure_assertion/*36*/))->_header_comment/*4*/);
  72. /*]*/
  73. r219add_into((T219*)((C)->_ensure_assertion/*36*/),oBC95assertion_collector);
  74. }
  75. /*FI]*/
  76. }
  77. /*FI]*/
  78. }
  79. /*No:FUNCTION.local_vars*/
  80.  
  81.  
  82. void r308set_header_comment(T308* C,T0* a1){
  83. /*[IF*/
  84. if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)>(1))){
  85. C->_end_comment=a1;
  86. }
  87. /*FI]*/
  88. }
  89. /*No:FUNCTION.clients*/
  90. /*No:FUNCTION.obsolete_mark*/
  91.  
  92.  
  93. void r360fill_up(T360* C){
  94. T2 _i=0;
  95. T0* _rf=NULL;
  96. T0* _fn=NULL;
  97. T0* _fna=NULL;
  98. T0* _rta=NULL;
  99. T0* _t=NULL;
  100. /*[IF*/
  101. if((((T76*)(oBC12run_control))->_cecil_path/*20*/)!=((void*)(NULL))){
  102. {T55*n=malloc(sizeof(*n));
  103. *n=M55;
  104. r55with_capacity(n,4);
  105. C->_user_cecil_list=(T0*)n;
  106. }
  107. {T68*n=malloc(sizeof(*n));
  108. *n=M68;
  109. r68with_capacity(n,4);
  110. C->_user_cecil_name=(T0*)n;
  111. }
  112. C->_user_path_h=r71connect_to_cecil((T71*)(oBC12eiffel_parser));
  113. {T361*n=malloc(sizeof(*n));
  114. *n=M361;
  115. r361with_capacity(n,4);
  116. _rta=(T0*)n;
  117. }
  118. {T88*n=malloc(sizeof(*n));
  119. *n=M88;
  120. r88with_capacity(n,4);
  121. _fna=(T0*)n;
  122. }
  123. while (!(r71end_of_input((T71*)(oBC12eiffel_parser)))) {
  124. r68add_last((T68*)((C)->_user_cecil_name/*4*/),r71parse_c_name((T71*)(oBC12eiffel_parser)));
  125. X361add_last(_rta,r71parse_run_type((T71*)(oBC12eiffel_parser)));
  126. r88add_last(((T88*)_fna),r71parse_feature_name((T71*)(oBC12eiffel_parser)));
  127. }
  128. r71disconnect((T71*)(oBC12eiffel_parser));
  129. r31put_string((T31*)(oBC12echo),((T0*)ms360_17856));
  130. _i=0;
  131. while (!((_i)>(/*X361upper*/((T2)(((T361*)_rta))->_upper/*12*/)))) {
  132. _t=X52to_runnable(/*X361item*/((T0*)r361item(((T361*)_rta),_i)),r360type_any());
  133. _fn=/*(IRF4.6item*/((((T88*)_fna))->_storage/*0*/)[_i]/*)*/;
  134. _rf=r23get_feature((T23*)(X52run_class(_t)),_fn);
  135. /*[IF*/
  136. if((_rf)==((void*)(NULL))){
  137. r21add_position(X50start_position(_fn));
  138. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms360_103698);
  139. r21fatal_error((T21*)(oBC12eh),b1);
  140. }/*]*/
  141. }
  142. /*FI]*/
  143. X55add_last((C)->_user_cecil_list/*0*/,_rf);
  144. r335update_with(_rf);
  145. _i=(_i)+(1);
  146. }
  147. }
  148. /*FI]*/
  149. }
  150.  
  151.  
  152. T0* r360type_any(void){
  153. if(fBC12type_any==0){
  154. fBC12type_any=1;
  155. {T263*n=malloc(sizeof(*n));
  156. *n=M263;
  157. r263make(n,NULL);
  158. oBC12type_any=(T0*)n;
  159. }
  160. }
  161. return oBC12type_any;}
  162. /*No:CECIL_POOL.user_cecil_name*/
  163. /*No:CECIL_POOL.user_path_h*/
  164. /*No:CECIL_POOL.user_cecil_list*/
  165. /*No:CECIL_POOL.fatal_error*/
  166.  
  167.